function move(ele, taObj, cb) {
    clearInterval(ele.timer);
    ele.timer = setInterval(function () {
      // 设置清除定时器的开关
      var onOff = false;
      // 遍历运动的属性
      for (let attr in taObj) {
        //  console.log(attr);
        // 获取元素的实时的运动属性值
        let tmpPos = parseInt(getPos(ele, attr));
        // 计算speed
        let speed = (taObj[attr] - tmpPos) / 10;
        speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
        // 将运动属性进行更新
        ele.style[attr] = tmpPos + speed + 'px';
        // console.log(tmpPos + speed, taObj[attr]);
        //判断是否达到目标值
        if ((tmpPos + speed) == taObj[attr]) {
          onOff = true;
        }
      }
      // 判断开关
      if (onOff) {
        //  console.log(times, 222);
        clearInterval(ele.timer);

        // 回调函数存在,就调用
        cb && cb();
      }
    }, 30)
    //console.log(times, 111);

  }

  // 获取元素的实时位置的函数
  function getPos(obj, attr) {
    if (obj.currentStyle) {   // 获取css的样式
      return obj.currentStyle[attr];
    } else {
      return getComputedStyle(obj)[attr]
    }
  }